package fr.uniscol.service.impl;

import java.util.List;

import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import fr.uniscol.dao.IEleveDao;
import fr.uniscol.model.AnneeScolaire;
import fr.uniscol.model.Eleve;
import fr.uniscol.model.ServiceEnseignant;
import fr.uniscol.service.IEleveService;

public class EleveServiceImpl implements IEleveService {

	private IEleveDao eleveDao;
	
	public void setEleveDao(IEleveDao eleveDao) {
		this.eleveDao = eleveDao;
	}

	@Transactional(readOnly=true)
	public Eleve getEleve(AnneeScolaire annee, int id) {
		return eleveDao.getEleve(annee, id);
	}
	
	@Transactional(readOnly=true)
	public List<Eleve> getAllEleves(AnneeScolaire base){
		return eleveDao.getAllEleves(base);
	}
	
	@Transactional(readOnly=false)
	public void enregistrerEleve(Eleve eleve) {
		eleveDao.enregistrerEleve(eleve);
	}

	@Transactional(readOnly=false)
	public void enregistrerEleves(List<Eleve> eleves) {
		for(Eleve el : eleves){
			eleveDao.enregistrerEleve(el);
		}
	}

	@Transactional(readOnly=true)
	public List<Eleve> findElevesByServiceEnseignant(AnneeScolaire base, ServiceEnseignant service) {
		return eleveDao.findElevesByServiceEnseignant(base, service);
	}
}
